package com.decent.ejfadmin.user.dao;

import com.decent.ejfadmin.common.bean.Page;
import com.decent.ejfadmin.common.bean.UserPm;
import com.decent.ejfadmin.user.dao.provider.UserPmDaoProvider;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 会员专属管理员
 *
 * @author weicx
 * @date 2018/08/15
 */
@Mapper
@Repository
public interface UserPmDao {
    /**
     * 查询专属商务计数
     *
     * @param adminName 查询条件
     * @return 总数
     */
    @SelectProvider(type = UserPmDaoProvider.class, method = "queryUserPmCount")
    int queryUserPmCount(@Param("adminName") String adminName);

    /**
     *分页查询专属商务
     * @param page
     * @param adminName
     * @return
     */
    @SelectProvider(type = UserPmDaoProvider.class, method = "queryUserPmPage")
    List<UserPm> queryUserPmPage(@Param("page") Page page, @Param("adminName") String adminName);

    /**
     * 新增专属商务
     *
     * @param adminName 商务名称，可空
     * @param qq        联系qq，可空
     * @param tel       联系电话，可空
     * @return 新增行数
     */
    @Insert("insert into yuhuang_pm (pm_name,pm_qq,pm_tel) values (#{adminName},#{qq},#{tel})")
    int createUserPm(@Param("adminName") String adminName, @Param("qq") String qq, @Param("tel") String tel);

    /**
     * 修改专属商务
     *
     * @param id        商务id
     * @param adminName 商务名称，可空
     * @param qq        联系qq，可空
     * @param tel       联系电话，可空
     * @return 修改行数
     */
    @Update("update yuhuang_pm set pm_name = #{adminName},pm_qq = #{qq},pm_tel = #{tel} where pm_id = #{id}")
    int modifyUserPm(@Param("id") Integer id, @Param("adminName") String adminName, @Param("qq") String qq, @Param("tel") String tel);

    /**
     * 查询专属商务
     *
     * @param name 名称
     * @return 商务信息
     */
    @Select("select pm_id id,pm_name name,pm_qq qq,pm_tel tel from yuhuang_pm where pm_name = #{name}")
    UserPm queryUserPm(@Param("name") String name);


    /**
     * 删除专属商务
     *
     * @param id 专属id，可空
     * @return 成功“OK”
     */
    @Delete("delete from yuhuang_pm  where pm_id = #{id} ")
    int deleteUserPm(@Param("id") Integer id);
}
